package com.member.provider.controller;

import com.member.dto.PayType;
import com.member.dto.User;
import com.member.provider.service.MemberService;
import com.member.utils.Result;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

/**
 * @auther liujian
 * @date 2024/1/5 13:44
 */
@RestController
@RequestMapping("/provider/member")
@CrossOrigin
public class MemberController {
    
    @Autowired
    private MemberService memberService;
    
    /**
     * @Description TODO
     * @param
     * @retuen
     * 获取身份信息
     * @date 2024/1/5 13:48
     * @auther 银狐先生 
     */
    @GetMapping("/getUserInfo")
    public Result getUserInfo(){
        return memberService.getUserInfo();
    }

    /**
     * @Description TODO
     * @param payType
     * @retuen result
     * 设置默认的支付方式
     * @date 2024/1/5 14:46
     * @auther 银狐先生
     */
    @PostMapping("/updatePayType")
    public Result updatePayType(PayType payType){
        return memberService.updatePayType(payType);
    }
    
//    /**
//     * @Description TODO
//     * @param
//     * @retuen
//     * @date 2024/3/6 8:48
//     * @auther 银狐先生
//     */
//    // 用户点击签约服务入口时触发的事件处理函数
//    public void onSignContractClicked() {
//        // 生成签约展码
//        String qrCode = generateQRCode();
//
//        // 将签约展码发送给内部APP展示
//        sendQRCodeToInternalApp(qrCode);
//    }
//
//    // 生成签约展码
//    public String generateQRCode() {
//        // 在这里使用合适的库或算法生成二维码
//        // 返回生成的二维码字符串
//    }
//
//    // 将签约展码发送给内部APP展示
//    public void sendQRCodeToInternalApp(String qrCode) {
//        // 在这里使用合适的方法将签约展码发送给内部APP
//        // 可以通过调用内部APP提供的接口或发送广播等方式进行通信
//    }


    /**
     * @Description TODO
     * @param user
     * @retuen Result
     * 登录功能
     * @date 2024/3/21 9:38
     * @auther 银狐先生
     */
    @PostMapping("/login")
    public Result login(@RequestBody User user){
        // 调用service层的方法进行登录
        return memberService.login(user);
    }

    /**
     * @Description TODO
     * @param user
     * @retuen Result
     * 注册功能
     * @date 2024/3/21 9:39
     * @auther 银狐先生
     */
    @PostMapping("/register")
    public Result register(@RequestBody User user){
        // 调用service层的方法进行注册
        return memberService.register(user);
    }
}

